Building a Perplexity Clone with 100 lines of code

AI search apps like Perplexity.ai are really cool. They use an LLM to answer your questions, but pull in real-time search results to augment the answer (eg RAG) and list citations. I wanted to know how it works and decided to build my own version. Getting it to work is surprisingly simple and...

The Power of Pre-Mortems in Software Development

The software post-mortem is well known. It’s a standard best practice that really marks the end of any software project. It also fits in well with the Agile manifesto, specifically the retrospective - always be reflecting, always be improving.

So, You Want to Move to Microservices?

As I reflected back on my time at LinkedIn, I put together a brief history of its scaling story. We had done the (now) classic migration from monolith to microservices. Just like oh I dunno, Amazon, Google, eBay, Twitter, Netflix, and my current employer Uber (to name a few). And why not? Mic...

Code Reviews by Phase and Expectations

Code reviews are amazing for many reasons. And everyone on the team should contribute. Interestingly, the behavior of an engineer with respect to code reviews changes based on seniority or tenure within a team or code repository. I like to refer these changes as “phases”.